// pages/login/login.js
const app = getApp();

Page({
  data: {
    username: '',
    password: '',
    loading: false,
    showPassword: false
  },

  onLoad() {
    console.log('登录页面加载');
    // 检查是否已登录
    if (app.globalData.token && app.globalData.userInfo) {
      wx.switchTab({
        url: '/pages/index/index'
      });
    }
  },

  // 输入用户名
  onUsernameInput(e) {
    this.setData({
      username: e.detail.value
    });
  },

  // 输入密码
  onPasswordInput(e) {
    this.setData({
      password: e.detail.value
    });
  },

  // 切换密码显示
  togglePassword() {
    this.setData({
      showPassword: !this.data.showPassword
    });
  },

  // 登录
  async onLogin() {
    const { username, password } = this.data;
    
    if (!username.trim()) {
      app.showError('请输入用户名');
      return;
    }

    if (!password.trim()) {
      app.showError('请输入密码');
      return;
    }

    this.setData({ loading: true });
    app.showLoading('登录中...');

    try {
      const res = await app.request({
        url: '/api/auth/login',
        method: 'POST',
        data: {
          username: username.trim(),
          password: password
        }
      });

      app.hideLoading();
      this.setData({ loading: false });
      
      if (res.data.success) {
        // 保存登录信息
        wx.setStorageSync('token', res.data.token);
        wx.setStorageSync('userInfo', res.data.user);
        
        app.globalData.token = res.data.token;
        app.globalData.userInfo = res.data.user;
        
        app.showSuccess('登录成功');
        
        // 开始位置跟踪
        app.startLocationTracking();
        
        // 跳转到主页
        setTimeout(() => {
          wx.switchTab({
            url: '/pages/index/index'
          });
        }, 1500);
      } else {
        app.showError(res.data.message || '登录失败');
      }
    } catch (err) {
      app.hideLoading();
      this.setData({ loading: false });
      console.error('登录失败:', err);
      app.showError('登录失败，请检查网络连接');
    }
  },

  // 快速登录（开发测试用）
  quickLogin() {
    this.setData({
      username: 'admin',
      password: 'admin123'
    });
  },

  // 清空输入
  clearInput(type) {
    if (type === 'username') {
      this.setData({ username: '' });
    } else if (type === 'password') {
      this.setData({ password: '' });
    }
  }
}); 